package sms

import (
	"awesomeProject1/push/plugin"
	"fmt"
)

// SmsPlugin 是短信推送渠道的插件实现
type SmsPlugin struct {
	Enabled bool
}

// SendMessage 实现了 Plugin 接口的 SendMessage 方法
func (p *SmsPlugin) SendMessage(info plugin.MessageInfo) error {
	// 可以调用不同短信服务商实现发送短信
	aliService := NewAliSmsService(plugin.AccessKeyID, plugin.AccessKeySecret, plugin.SignName, plugin.TemplateCode) //TODO 阿里云短信服务配置应从配置文件中获取
	err := aliService.SendSMS(info)
	if err != nil {
		fmt.Println("====================>发送失败", err)
		return nil // 如果发送失败,不返回错误，
	}
	return nil
}

// IsEnabled 实现了 Plugin 接口的 IsEnabled 方法
func (p *SmsPlugin) IsEnabled() bool {
	p.Enabled = true
	return p.Enabled
}
